查看原文
其他

波卡为什么使用 WebAssembly | Polkadot Wiki

Polkadot PolkaWorld 2021-10-12

加入 PolkaWorld 社区,共建 Web 3.0!

WebAssembly 在 Polkadot 和 Substrate 中被用作 runtime 的编译目标。

 


WebAssembly 是什么?

WebAssembly 简称为 Wasm,是一种用于基于堆栈的虚拟机的二进制指令格式。Wasm 被设计成一个可移植的目标,用于编译高级语言(如 C/ c++ /Rust),支持在 web 上部署客户端和服务器应用程序。

 


为什么要使用 WebAssembly?

WebAssembly 是一种平台无关的二进制格式,这意味着它可以在它所操作的任何机器上运行相同的指令。区块链需要确定性,以便在点对点网络中的所有节点上进行可靠的状态转换更新,而不强制每个节点运行完全相同的硬件。Wasm 非常适合用于可能不同的机器集之间的可靠性。Wasm 既高效又快速。这种效率意味着它可以作为一团代码上传到链上,而不会造成太多的状态膨胀,同时保持其以接近本机速度执行的能力。



无分叉升级

通过在 Substrate 中使用 Wasm,可以支持 Polkadot、Kusama 和许多连接链,这些链可以在不进行硬分叉的情况下升级其 runtime 逻辑。硬分叉是升级区块链的标准方法,由于需要离线协调,它很慢、效率低、容易出错,因此倾向于将多个升级打包到一个大型事件中。通过在链上部署 Wasm,并让节点在特定的块高度自动执行新的逻辑,升级可以是小的、单独的、非常具体的。

 


资源

  • 包含规范链接的 WebAssembly 主页:https://webassembly.org/

  • 用 Rust 写的 WebAssembly 解释器:https://github.com/paritytech/Wasmi

  • Parity Wasm:Rust 中的 WebAssembly 序列化/反序列化。https://github.com/paritytech/parity-Wasm

  • Wasm utils:在 Parity 和 Wasm 合约开发中使用的 Wasm 实用程序的集合。https://github.com/paritytech/Wasm-utils


原文链接:

https://wiki.polkadot.network/docs/en/learn-wasm

翻译:PolkaWorld 社区




直播预告:


每周四,「PolkaWorld 平行链系列」视频直播准时和你见面!


本周四晚 7 点,我们邀请到 Bifrost 创始人 Lurpis 来到直播间,和大家分享 Bifrost 成为平行链对波卡生态有什么意义。直播间中将发出💰 500 BNC 大额红包哦!点击下方关注视频号预约直播⬇️



  • 欢迎学习 Substrate: 

    https://substrate.dev/

  • 关注 Substrate 进展:

    https://github.com/paritytech/substrate

  • 关注 Polkadot 进展:

    https://github.com/paritytech/polkadot

更多内容:


波卡周报 | 下周重启 Rococo,预计接入 20 条平行链进行测试

Gavin Wood 的故事:低调的区块链先驱和真正的创造者

视频|Gavin Wood 谈波卡的愿景和平行链拍卖机制


扫码关注公众号,回复 “1” 加入波卡群

关注 PolkaWorld

发现 Web 3.0 时代新机遇


点个 “在看” 再走吧!

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存